package cn.itcast.search.service;

import cn.itcast.hmall.dto.common.PageDTO;
import cn.itcast.hmall.dto.common.ResultDTO;
import cn.itcast.hmall.dto.search.SearchReqDTO;
import cn.itcast.hmall.pojo.item.ItemDoc;

import java.util.List;
import java.util.Map;

public interface SearchService {
    /**
     * 导入es数据
     * @return
     */
    ResultDTO importItemData() ;

    /**
     * 自动补全
     * @param key
     * @return
     */
    List<String> suggestion(String key);

    /**
     * 过滤聚合
     * @param searchReqDTO
     * @return
     */
    Map<String,List<String>> filters(SearchReqDTO searchReqDTO);

    /**
     * 分页查询
     * @param searchReqDTO
     * @return
     */
    PageDTO<ItemDoc> list(SearchReqDTO searchReqDTO);


    //下架删除
    void deleteById(Long id);

    //上架添加
    void insertById(Long id);
}
